package com.leecode.xiehf.page_01;

/**
 * 实现 pow(x, n) ，即计算 x 的 n 次幂函数（即，xn）。
 * <p>
 * https://leetcode-cn.com/problems/powx-n/
 */
public class Solution_0050 {

    public static void main(String[] args) {
        Solution_0050 solution = new Solution_0050();
        double v = solution.myPow(2.0000, 10);
        System.out.println(v);
    }

    public double myPow(double x, int n) {
        if (n == 0) {
            return 1;
        }
        double res = 1.0;
        for (int i = n; i != 0; i /= 2) {
            if (i % 2 != 0) {
                res *= x;
            }
            x *= x;
        }
        return n < 0 ? 1 / res : res;
    }

}
